home *** CD-ROM | disk | FTP | other *** search
/ Packard Bell - Internet on a CD / internet on a cd.cdr / Internet / sites / HTML_1 / hangman.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-07-16  |  2.9 KB  |  95 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "./cgi.h"
  4.  
  5. cgi_main(cgi_info *ci)
  6.    { form_entry *params = NULL;
  7.      char guess[10];
  8.      char *new,*real;
  9.      int gue,i,g,num,n;
  10.  
  11.      params = get_form_entries(ci);
  12.      real = parmval(params,"real");
  13.      print_mimeheader("text/html");
  14.  
  15.    if(params != NULL) {    
  16.      printf("<title> Hangman </title>");
  17.      printf("<h1>The Hangman Game ...</h1>");
  18.      if (!(strcmp(parmval(params,"guess"),"done")))       /* they guessed */
  19.     { if (!(strcmp(real,parmval(params,"new"))))     /* correct? */
  20.             {printf("You were right.");}
  21.           else {printf("You were WRONG!<p>");
  22.                 printf("It was really %s.",real);}
  23.           printf("<p><p>Click <a href=""/cgi-bin/nik/hangman"">");
  24.           printf("here</a> to play again.");
  25.           return;
  26.        }
  27.      new = parmval(params,"new");
  28.      sprintf(guess,"%s%c",parmval(params,"guess"),new[0]);
  29.      gue = strlen(guess); 
  30.      num = strlen(real);
  31.      printf("<p>");
  32.      printf("So far you have guessed:<p>");
  33.      n=0;
  34.      for (i=0;i<num;i++)  
  35.        { for (g=0;g<gue;g++) 
  36.         { if (guess[g] == real[i]) 
  37.              { printf("%c ",real[i]);
  38.                        g=-1;
  39.                n++;
  40.                break;
  41.                }
  42.         }
  43.              if (g==-1) continue;
  44.              printf("_ ");
  45.          }
  46.      printf("<p>");
  47.      if ((gue-n) < 6) {
  48.         printf("Please type your next guess<p>");
  49.     printf("You have %d guesse(s) left!<p>",(6-(gue-n)));
  50.         print_form(real,guess);
  51.         }
  52.      else{
  53.     printf("Sorry the game is over.<p>");
  54.     printf("The correct answer is %s.<p>",real);
  55.     printf("click <a href=""/cgi-bin/nik/hangman"">");
  56.     printf("here</a> to play again.");
  57.         }
  58.      }
  59. else {
  60.     printf("<title> Hangman </title>");
  61.     printf("<h1> Hangman Game.</h1><br>");
  62.     real = "first";
  63.     num = strlen(real);
  64.     for (i=1;i<=num;i++)
  65.      { printf("_ ");
  66.       }
  67.     printf("<p>");
  68.     printf("Type in your first guess at the above unknown word.<p>");
  69.     print_form(real,"");
  70.     }
  71.  }
  72.  
  73. print_form(real,guess)
  74. char *real, *guess;
  75. { printf("<form method=""post"" action=""/cgi-bin/nik/hangman"">");
  76.   printf("<input name = ""new""><p>");
  77.   printf("<input type=""hidden"" name=""guess"" value=""");
  78.   printf("%s"">", guess);
  79.   printf("<input type=""hidden"" name=""real"" value=""");
  80.   printf("%s"">", real);
  81.   printf("<INPUT TYPE=""reset"" VALUE=""Clear"">");
  82.   printf("<input type=""submit"" value=""Continue"">");
  83.   printf("</form>");
  84.   printf("Or if you are daring type in what");
  85.   printf(" you think that the word is.<p>");
  86.   printf("<form method=""post"" action=""/cgi-bin/nik/hangman"">");
  87.   printf("<input name=""new""><p>");
  88.   printf("<input type=""hidden"" name=""guess"" value=""done"">");
  89.   printf("<input type=""hidden"" name=""real"" value=""");
  90.   printf("%s"">",real);
  91.   printf("<INPUT TYPE=""reset"" VALUE=""Clear"">");
  92.   printf("<input type=""submit"" value=""Guess It"">");
  93.   printf("</form> </html>");}
  94.  
  95.